package persistencia.dominio;

import java.sql.Timestamp;
import java.util.HashSet;

import persistencia.OidGenerator;

public class Evaluacion {
	private Long id;
	private String nombre;
	private java.util.Set preguntas = new HashSet();
	private Aula aula;
	private boolean publicado;
	private boolean eliminado;
	private Timestamp fechaHoraFin;
	private byte[] detalles;
	private boolean verTodasPregJuntas;
	private boolean ordenSecuencial;
	private boolean conRetroceso;
	private boolean pregsAleatorias;
	private int cantidadPAleatorias;
	private int cantidadPObligatorias;
		
	public Evaluacion(){
		id=OidGenerator.getNewId();		
	}
	
	public void setId(Long id) {
		this.id = id;
	}
	
	public Long getId() {
		return id;
	}
	
	public String getNombre(){
		return nombre;
	}
	
	public void setNombre(String s){
		nombre = s;
	}
	
	public java.util.Set getPreguntas() {
		return preguntas;
	}
	
	public void setPreguntas(java.util.Set preguntas) {
		this.preguntas = preguntas;
	}
	
	public Aula getAula() {
		return aula;
	}

	public void setAula(Aula aula) {
		this.aula = aula;
	}

	public boolean isPublicado() {
		return publicado;
	}

	public void setPublicado(boolean publicado) {
		this.publicado = publicado;
	}

	public boolean isEliminado() {
		return eliminado;
	}

	public void setEliminado(boolean eliminado) {
		this.eliminado = eliminado;
	}

	public int cantidadPreguntas(){
		if(preguntas!=null)
			return preguntas.size();
		else
			return 0;
	}

	public Timestamp getFechaHoraFin() {
		return fechaHoraFin;
	}

	public void setFechaHoraFin(Timestamp fechaHoraFin) {
		this.fechaHoraFin = fechaHoraFin;
	}

	public String getDetalles() {
		if (detalles == null)
		      return "";
		return new String(detalles);
	}

	public void setDetalles(String d) {
		this.detalles = d.getBytes();
	}

	public boolean isOrdenSecuencial() {
		return ordenSecuencial;
	}

	public void setOrdenSecuencial(boolean ordenSecuencial) {
		this.ordenSecuencial = ordenSecuencial;
	}

	public boolean isVerTodasPregJuntas() {
		return verTodasPregJuntas;
	}

	public void setVerTodasPregJuntas(boolean verTodasPregJuntas) {
		this.verTodasPregJuntas = verTodasPregJuntas;
	}

	public boolean isConRetroceso() {
		return conRetroceso;
	}

	public void setConRetroceso(boolean conRetroceso) {
		this.conRetroceso = conRetroceso;
	}

	public int getCantidadPAleatorias() {
		return cantidadPAleatorias;
	}

	public void setCantidadPAleatorias(int cantidadPAleatorias) {
		this.cantidadPAleatorias = cantidadPAleatorias;
	}

	public boolean isPregsAleatorias() {
		return pregsAleatorias;
	}

	public void setPregsAleatorias(boolean pregsAleatorias) {
		this.pregsAleatorias = pregsAleatorias;
	}
	
	public int getCantidadPObligatorias() {
		return cantidadPObligatorias;
	}

	public void setCantidadPObligatorias(int cantidadPObligatorias) {
		this.cantidadPObligatorias = cantidadPObligatorias;
	}
}
